Method for coding and decoding an information symbol

ABSTRACT

The invention relates to a method and a device for the coding and decoding of an information symbol for transmission over a transmission channel or a received signal value, whereby a channel symbol used for coding is selected from at least two available channel symbols by means of a pre-calculated expected received signal value. The pre-calculation is achieved, based on the echo properties of the transmission channel and transmission values already sent. A pre-coding method with low receiver-side calculation requirement is thus prepared, whereby the information symbol can be transmitted by means of various channel symbols and thus various transmission values can also be transmitted. The possible selections may be used for minimisation of the transmission energy and/or to achieve a minimal disturbance or even a constructive effect through the inter-symbol interference occurring on transmission.

[0001] The present invention pertains to a method for coding and decoding an information symbol or stream of information symbols to be transmitted across a transmission channel. Furthermore, the invention pertains to devices for encoding a signal to be transmitted and decoding a signal value received.

[0002] Transmission channels must generally deal with echoes, multipath propagation, preoscillation and postoscillation. These effects result in inter-symbol interference (ISI) between symbols occurring consecutively in time. In the general case, it is not possible to invert the transfer function of the transmission channel and thereby eliminate the perturbing influence of the transmission channel.

[0003] It is known that the perturbing influence of the transmission channel can be reduced by devices at the receiver side, such as equalizers or maximum likelihood sequence estimation.

[0004] At the sending side of a transmission system, precoding represents a way of reducing the perturbing influence of ISI caused by the transmission channel. Based on the Tomlinson Method as described by M. Tomlinson in “New Automatic Equalizer Employing Modulo Arithmetic,” Electronics Letters, Mar. 25, 1971, Vol. 7, pp. 138-139, numerous investigations have been conducted on the topic of precoding and various precoding variants have been developed.

[0005] Both the Tomlinson Method and all other known preceding variants nevertheless require a certain computation expenditure at the receiver side in the form of operations which are adapted to the precoding at the sending side.

[0006] Therefore, the problem of the invention is to provide a method and a device for the encoding and decoding of information signals by which the required computational expense can be diminished, especially at the receiving side.

[0007] This problem is solved by a method according to patent claim 1 and 21, and by a device according to patent claim 25 and 29.

[0008] According to the invention, a stable transmission of predistorted symbol streams across transmission channels with strong reflection can be achieved with little computational expense at the receiving side. For this, a channel symbol alphabet is defined, which is more powerful, i.e., it contains more elements, than the alphabet of the information symbols being transferred (information symbol alphabet). Due to the fact that the channel symbol alphabet is more powerful than the information symbol alphabet, the result is possibilities for choosing the form in which an information symbol can be transmitted by means of different channel symbols. Therefore, the encoding or precoding method proposed herein is designated hereafter as multiple-choice preceding (MCP). Said possibility of choice is utilized so that a transmission value is sent with the lowest possible energy at the sending side, while the ISI produced by it has minimal perturbation or is even constructive in effect.

[0009] Compared to known precoating methods, the advantage of MCP consists in the fact that no additional computational operations are required at the receiving side. This not only reduces the costs, but also any time delay or sources of error such as quantization errors or parameter inaccuracies. As a kind of side effect, in the case of constant symbol sequences MCP can take on the function of a scrambler (cf. Lochmann: Digitale Nachrichtentechnik, Verlag Technik GmbH, Berlin 1997, 2^(nd) edition, ISBN 3-241-01184-6) and thereby facilitates the bit sequence-independent symbol synchronization at the receiving side with high data rates.

[0010] From U.S. Pat. No. 5,570,388 a method of a device is known wherein simple codes are used for wireless transmission of nondata symbols. This publication defines a “spare symbol,” yet unlike the present invention this carries no information, but instead fulfills a delimiter function.

[0011] From DE 199 12 825 there is known a method of a receiving arrangement for a radio station to detect a data symbol. A certain agreement with the present invention consists in that distances from constellation points (or constellation regions in the present invention) are determined and taken into account. In contrast to the present invention, however, all calculations take place at the receiving side and not, as in the present invention, at the sending side. The teaching of DE 199 12 825 in no way achieves the goal of having the receiving side be organized as simple as possible.

[0012] From DE 198 24 408 there is known a receiver for a digital transmission system, yet as in the case of DE 199 12 825 it specifies a special equalizer at the receiving side, by which the necessary computations are carried out.

[0013] From DE 44 40 947 a method is known for digital transmission of messages. This publication makes close reference to the Tomlinson-Harashima Method and describes a further development of same. The publication quite generally goes into the lessening of signal dynamics at the receiving side. An important difference between what is disclosed in DE 44 40 947 and the present invention is that, with the Tomlinson-Harashima Method as well as DE 44 40 947, a modulo-N operation with respect to the signal amplitude is required at the receiver side. As is further pointed out in DE 44 40 947, due to the periodic continuation of the amplitude constellation on a real-valued axis in the Tomlinson-Harashima Method there are not many signal values to represent a signal symbol or many signal values to represent a transmitter symbol according to DE 44 40 947.

[0014] In the present invention, on the other hand, one essentially uses a complex plane. In the sample embodiment provided in the present application, the channel symbol alphabet differs from the information symbol alphabet also in the number of possible phase values of its elements. Because of the direct use of the complex plane, the problem of intensified signal dynamics at the receiving side does not occur in the present invention and an infinite predictable set of “sending values” is not required as in the Tomlinson-Harashima Method.

[0015] Preferably, the position of an uncertainty region in the complex plane is defined by the channel properties and by the sending values which were sent in the past, and the size and shape of this uncertainty region are defined by the sending values to be sent in future. The position of the uncertainty region is determined by an ISI component E^(ISIpost), which can be exactly calculated in advance by means of the channel properties and the sending values sent in the past. An additional ISI component E^(ISIpre,) which is created by future sending values interacting with the channel properties, cannot be exactly computed in advance because of causality reasons. The shape and size of the uncertainty region, however, allow for the possible influence which E^(ISIpre) might have in the detection of the signal currently being transmitted. The choice at the sending side of the desired channel symbol which can be chosen at the receiving side is based on its position in relation to the presently calculated uncertainty region.

[0016] The channel properties, especially the preoscillation and postoscillation behavior of the transmission channel, can be determined preferably by means of the channel pulse response. The channel pulse response can be found by measurement techniques, for example, and be updated in predetermined intervals of time.

[0017] According to a preferred embodiment, one can select the channel symbol which has the smallest distance in the complex plane from all selectable channel symbols and thus has the smallest correction value with regard to the point of the uncertainty region which is most distant from it. This “minimal maximum value” is hereafter termed the “smallest correction value”. This selection criterion ensures a high probability of the correct decision at the receiving side with regard to the channel symbol contained in the reception value, while at the same time minimizing the energy of the sending value.

[0018] According to another advantageous embodiment, the sending value “0” (physically nothing is sent) can occur if the presently calculated uncertainty region is situated in an area which leads with high probability to a decision at the receiving side for a channel symbol that can be selected for the transmission of the present information symbol. This means that the ISI produced by past sending values has constructive effect and is sufficient for transmitting the channel symbol selected for the present information symbol.

[0019] Preferably, one can delimit the region of the sending value by limiting the complex components of a sent sending value to a maximum value each time. This results in a limiting of the transmission energy.

[0020] As the distance used during the decoding, one can preferably calculate a Euclidean distance or a Hamming distance. These quantities furrish a measure for the decision-making distance between different possible channel symbols.

[0021] According to another advantageous embodiment, the calculating arrangement provided in the encoding device can comprise a first memory arrangement for storing the sending values already sent, a second memory arrangement for storing of channel coefficients which describe the postoscillation of the transmission channel, a multiplication arrangement for multiplying the sending values already sent with the corresponding channel coefficients, and an addition arrangement for adding up the results of the multiplication. By progressively storing the sending values already sent in the first memory arrangement and updating in time the channel coefficients in the second memory arrangement, a simple adaptation of the encoder to the given transmission situation is possible with low computational expense. The expected reception signal values can then be computed in advance in the calculating arrangement, preferably by means of the addition result, the selected channel symbol, and an expectation value taking into account the preoscillation behavior of the transmission channel. This makes it possible to factor in the preoscillation behavior of the transmission channel. In order to reduce the ISI caused by the preoscillation behavior, a prefilter adapted to the transmission channel can also be provided.

[0022] The invention shall now be explained more closely by means of a preferred sample embodiment making reference to the enclosed figures. These show:

[0023]FIG. 1 a block diagram of a transmission system according to the preferred sample embodiment,

[0024]FIG. 2 a block diagram of an encoder according to the preferred sample embodiment,

[0025]FIG. 3 a flow chart of an encoding method according to the preferred sample embodiment,

[0026] FIGS. 4A-4C sample representations of the smallest correction value and the computed sending value for a case decision as explained in the preferred sample embodiment,

[0027]FIG. 5 a flow chart of a decoding method according to the preferred sample embodiment,

[0028]FIG. 6 a representation to explain a decision distance used during the decoding,

[0029]FIG. 7 a diagram to represent decision regions used in a BPSK encoding,

[0030]FIG. 8 an example of a complex pulse response of a transmission channel,

[0031]FIG. 9 a complex diagram to represent the constellation of a BPSK symbol stream present at the receiver input without using the encoding according to the invention,

[0032]FIG. 10 a complex diagram to represent the constellation of a BPSK symbol stream present at the receiver input when using the encoding according to the invention,

[0033]FIG. 11 a complex diagram to represent the constellation at the receiver input in the case of a constant sequence of identical information symbols making use of the encoding according to the invention, and

[0034]FIG. 12 a flow chart to show the calculation of a sending value in forward-looking MCP.

[0035] The preferred sample embodiment shall be explained hereafter, at first in general form and then on the special example of a BPSK modulation.

[0036]FIG. 1 shows a block diagram of the symbol flow in a baseband model during a transmission of information symbols making use of several selectable channel symbols (MCP method). According to K. D. Kammayer, “Nachrichtenuibertragung,” B. G. Teubner-Verlag Stuttgart, 2^(nd) edition, ISBN 3-519-16142-7, complex-valued signals are designated here by block arrows. Signals, symbols and values at the transmitter side are designated with ^((tx)), signals, symbols and values at the receiver side are designated with ^((rx)). The index i is used as the discrete time index. For an information symbol v_(i) ^((tx))∈V present at the transmitter input at time i, the pre-encoder (f^(MCP) (·)) 10 selects a channel symbol which is desirable at the receiver input and from this calculates a sending value z_(i) ^((tx))∈Z^((tx)) to be sent out. This calculation makes use of both the channel properties and the sending values sent in the past. We have: $\begin{matrix} {{z_{i}^{({tx})} = {f^{MCP}\left( {v_{i}^{({tx})},\overset{\_}{h},z_{i - 1}^{({tx})},z_{i - 2}^{({tx})},\ldots \quad,z_{i - n}^{({tx})}} \right)}},} & (1) \end{matrix}$

[0037] where n corresponds to the memory depth of a channel 20 used for the transmission with the characteristic

{overscore (h)}′=[h ₀ ,h ₁ , . . . h _(n) ],mit h ₀ ,h _(n)≠0,

[0038] with h₀, h_(n)≠0, and thus the channel order.

[0039] The sending value z_(i) ^((tx)) generated in a pre-encoder 10 of a transmitter 100 by the MCP method is sent via the channel 20. From the reception value z_(i) ^((rx)) arriving at the input of a receiver 30 after a time delay, the fundamental channel symbol y_(i) ^((rx)) is determined by means of a decider 31. From this channel symbol y_(i) ^((rx)), a received information symbol v_(i) ^((rx)) is detected or determined by means of an assigner 32, making use of a mapping function f(·), which is a simple single-valued but not reversible mapping. For this detection process, a detection error D^(err) (z^((rx)),y^((rx)),v^((tx))) is defined according to the following equation (2), which can be computed in advance at the transmitter side. D^(err) (·) is dependent on the reception value z^((rx)) calculated in advance at the decider input, the channel symbol y^((rx)) detected from this, and the desired information symbol v^((tx)) which should appear at the receiver output: $\begin{matrix} {{D^{err}\left( {z^{({rx})},y^{({rx})},v^{({tx})}} \right)} = \begin{Bmatrix} {{- 1}\quad {BordDist}\quad \left( {z^{({rx})},y^{({rx})}} \right)} & {{{if}\quad {f\left( y^{({rx})} \right)}} = v^{({tx})}} \\ {{BordDist}\quad \left( {z^{({rx})},y^{({rx})}} \right)} & {{{if}\quad {f\left( y^{({rx})} \right)}} \neq v^{({tx})}} \end{Bmatrix}} & (2) \end{matrix}$

[0040] The function BordDist (z, y) provides the decision-making distance (see FIG. 6). By this is meant the Euclidean distance between the value z and the limits of the certain decision-making region of the channel symbol y detected by the decider 31. The Hamming distance or another suitable quantity can also be used as the decision-making distance. Thus, the detection error D^(err) (z^((rx)), y^((rx)), v^((tx))) is a measure of the uncertainty with which an information symbol v^((tx)) is correctly detected for a given reception symbol z^((rx)). The smaller the detection error, the more certain the detection. A negative detection error indicates that the reception symbol z^((rx)) lies within the certain decision-making region of a channel symbol y^((rx)) and that this channel symbol is mapped on the correct information symbol.

[0041] According to the preferred sample embodiment, at the transmitter side one calculates in advance the region in which the reception value will lie that the receiver will afterwards detect on the basis of the sending value now being determined. This requires at the transmitting side both knowledge of the channel {overscore (h)}, as well as knowledge of all synchronization, filtering and detection operations that will be carried out at the receiver side. It can be assumed to advantage that the receiver performs a detection in terms of symbols, that a reception value is sampled with a time delay of m symbol time steps relative to its sending time point, after which it is located at the amplitude maximum of the channel pulse response, and that the receiver 30 performs a phase synchronization so that the reception value sampled at the time point m is in correct phase. In a distortion-free system, in which the channel 20 has the time delay m and no preoscillation or postoscillation, the following equation (3) would hold for the detected reception values: $\begin{matrix} {{z_{i}^{({rx})} = {{\sum\limits_{k = 0}^{n}{h_{k} \cdot z_{i - k}^{({tx})}}} = {{\sum\limits_{k = 0}^{n}{\delta_{k,m} \cdot z_{i - k}^{({tx})}}} = z_{i - m}^{({tx})}}}},} & (3) \end{matrix}$

[0042] k=O k=O

[0043] where δ_(i,j) is the Kronecker symbol. Thus, the reception value received after m symbol time steps would correspond to the sent sending value as expected. On the other hand, in a real-world system, the reception value z_(i) ^((rx)) will contain interference components from symbols situated near in time, as well as additive noise, due to the channel properties.

[0044] In order to allow for the preoscillation and postoscillation of the channel pulse response, it is assumed that the effective channel pulse response of the channel 20 located between the transmitter 100 and the receiver 30 has the following characteristic:

|h ₀ |,|h ₁ |, . . . |h _(m−1)|<1, h _(m)=1, |h _(m+1) |,|h _(m+2) |, . . . |h _(n)|≦1  (4)

[0045] where the coefficients h₀, h₁, . . . h_(m−1) describe the preoscillation and the coefficients h_(m+1), h_(m+2), . . . h_(n) describe the postoscillation of the channel pulse response. Because of the delay m, the reception value z₀ ^((rx)) detected at the receiver input at time i=0 is: $\begin{matrix} {{{\left( {h_{n}\quad \ldots \quad h_{m + 2}\quad h_{m + 1}} \right) \cdot \begin{pmatrix} z_{- n}^{({tx})} \\ \vdots \\ z_{{- m} - 1}^{({tx})} \end{pmatrix}} + z_{- m}^{({tx})} + {\left( {h_{m - 1}\quad \ldots \quad h_{1}\quad h_{0}} \right) \cdot \begin{pmatrix} z_{{- m} + 1}^{({tx})} \\ \vdots \\ z_{0}^{({tx})} \end{pmatrix}}} = z_{0}^{({rx})}} & (5) \end{matrix}$

[0046] The first summand on the left side of equation (5) describes ISI components E^(ISIpost) that can be described by sending values which were sent prior to the sending value z_(m) ^((tx)) in time and are attributable to the postoscillation (post-cursor) of the channel, while the last summand describes the ISI components E^(ISIpre) that are caused by preoscillation (pre-cursor) and are dependent on sending values that were sent after the sending value z_(m) ^((tx)) in time and consequently were not yet known when the sending value z_(m) ^((tx)) was sent. This can be represented by the following equation (6): $\begin{matrix} {{E_{0}^{ISIpost} + z_{- m}^{({tx})} + E_{0}^{ISIpre}} = {z_{0}^{({rx})} = {y_{0}^{({rx})} + {Error}}}} & (6) \end{matrix}$

[0047] The right side of the equation (6) shows that the reception value can be interpreted as the sum of a transmitted channel symbol and an error value caused by interferences.

[0048] In order to allow for the preoscillation of the channel 20, one establishes an upper limit value K for the expectation value E{·} of the sending symbols, so that: E{|z^((tx))|}≦K. Thus, E₀ ^(ISIpre) can be estimated from above. With the equation: $\begin{matrix} {d = {K \cdot {\sum\limits_{i = 0}^{m - 1}{h_{i}}}}} & (7) \end{matrix}$

[0049] d=K-Dlh_(i) (7)

[0050] with the definition (A

B: A implies B) one gets:

|E ₀ ^(ISIpre) |≦d

|real(E ₀ ^(ISIpre))|≦d, |imag(E ₀ ^(ISIpre))|≦d,  (8)

[0051] and in the following remarks we shall assume K=1. While the left side of equation (8) represents a circular disk in the complex plane, the right side of equation (8) describes a square which contains this circular disk and which shall be used for the further calculations for reasons of simplicity.

[0052] Thus, the reception value z₀ ^((rx)) detected at time i=0 was not exactly localizable in advance as a point in the complex plane at time i=−m. Therefore, a square region S^((rx))(z) is defined by the following equation (9), within which the reception value is expected: $\begin{matrix} {{{S^{({rx})}\left( {E_{0}^{ISIpost} + z_{- m}^{({tx})}} \right)} = {E_{0}^{ISIpost} + {{z_{- m}^{({tx})} \pm d} \pm {j \cdot d}}}}\text{The~~region:}} & (9) \\ {S^{({rx})}\left( E_{0}^{ISIpost} \right)} & \left( \text{9a} \right) \end{matrix}$

[0053] is defined hereafter as the uncertainty region at time i=0. It designates the region in which the ISI occurring at the receiver input at time i=0 must lie with high probability. Consequently, the region S^((rx))(E₀ ^(ISIpost)+z_(−m) ^((tx))) describes the region in which the reception value z₀ ^((rx)) must lie with high probability. The size of the uncertainty region S^((rx))(E₀ ^(ISIpost)) depends on the preoscillation behavior (oscillation build-up behavior) of the channel 20. If one further allows for the general requirement of sending out the lowest possible symbol energy in order to keep low any overmodulation distortions, the calculation of z_(−m) ^((tx)) leads to the following optimization problem:

[0054] Find the z_(−m) ^((tx))=z_(opt) that requires the lowest possible transmission energy, i.e.

z _(opt)=min(|z| ²),  (10a)

[0055] under the accessory conditions that z is contained in the set of possible sending symbols, i.e.

z∈Z^((tx))  (10b)

[0056] and that, for all z₀ ^((rx))∈S₀ ^((rx)), (E₀ ^(ISIpost)+z) leads to a correct detection of the information symbol at the receiver 30, i.e. $\begin{matrix} {{D^{err}\left( {{S_{0}^{({rx})}\left( {E_{0}^{ISIpost} + z} \right)},y_{0}^{({rx})},v_{- m}^{({tx})}} \right)} < 0} & \left( {10c} \right) \end{matrix}$

[0057] Thus, we have a nonlinear restrictive optimization problem. Without having accomplished an analytical proof of the solvability of this optimization problem, an easily implemented sample embodiment is given below, which solves at least approximately the above-defined optimization problem.

[0058] The pre-encoder function provided in the pre-encoder 10 can be realized in the form of a table of values after the channel property is discovered. The table of values can be realized, for example, as a table of values for probable types of channel pulse responses, and a selection can then be made using the measured channel property.

[0059]FIG. 2 shows a block diagram of the pre-encoder 10 according to the preferred sample embodiment, in which the indices indicated in equation (5) are used to identify the time sequence. The information symbol v_(−m) ^((tx)) being transmitted is taken to an encoder 11, which generates p channel symbols y1 to yp selectable for v_(−m) ^((tx)) and supplies them to a symbol selector 12. The encoder 11 can be realized by a memory table or the like. Furthermore, a symbol storage 14 is provided in the form of a parallel-readable shift register, in which the sending values z_(−m−1) ^((tx)) to z_(−n) ^((tx)) already sent are written in consecutively during each sending. The number n-m of stored sending values thus corresponds to the postoscillation time of the channel 20. Another parallel-readable coefficient storage 13 serves to store the coefficients h_(m) to h_(n) of the channel 20, and the coefficient h_(m) is supplied to the symbol selector 12 in order to factor in the direct action of the channel 20 on the information symbol v_(−m) ^((tx)) being transmitted.

[0060] Using a discrete convolution, the channel coefficients h_(j) are multiplied with the corresponding stored sending values z_(j) in corresponding multiplication arrangements and added together in an addition arrangement, in order to obtain in this way a characteristic value for the particular postoscillation of the channel 20, which is supplied to the symbol selector 12 and used to calculate the expected reception values or range of values (i.e., the uncertainty region S) used for the selection of the suitable channel symbol.

[0061] The channel symbol y selected by the symbol selector 12 and the uncertainty region S^((rx))(E^(ISIpost)) calculated in the symbol selector are used by a sending value calculator 15 to calculate the present sending value z_(−m) ^((tx)) as described hereafter.

[0062] The blocks shown in FIG. 2 can also be realized, of course, as program routines for a signal processor or the like provided in the transmitter 100.

[0063]FIG. 3 shows a flow chart of the encoding process according to the preferred sample embodiment.

[0064] In step S100, the pre- and postoscillation behavior of the channel 20 is first determined, for example, by means of a measured channel pulse response {overscore (h)} of the channel 20, and the corresponding coefficients are stored in memory. At time i, the information symbol v_(i) ^((tx)) being transmitted and the past sending symbols z_(i−1) ^((tx)),z_(i−2) ^((tx)), . . . ,z_(i−n+m) ^((tx)) stored in the symbol storage 14 are known, where n indicates the channel order and m the channel delay.

[0065] The sending value z_(i) ^((tx)) to be emitted at time i is determined as follows. In step S101, the uncertainty region produced by the ISI for the reception at the receiver 30 at time i+m is calculated per equation (9a). This can be done, for example, by calculating the corner points of the uncertainty region S^((rx))(E_(i+m) ^(ISIpost)). After this, in step S1102, the channel symbol which lies closest to the uncertainty region is determined. This can be done, for example, by determining, for each channel symbol y_(j k, j=)1, . . . p, that is possible for v_(i) ^((tx)), the difference value between channel symbol and corner point of the uncertainty region S whose value is a maximum, by the following equations (11a) and (11b). For an uncertainty region with the four corner points (c₁,c₂,c₃,c₄) we have: $\begin{matrix} {{l_{\max} = {{{\arg\limits_{l}\left( {\max \left( \left| {y_{j} - c_{l}} \right| \right)} \right)}\quad l} = 1}},2,3,4} & \left( {11a} \right) \end{matrix}$

[0066] (where the arg(max(f₁)) operation can furnish the argument 1 for which f₁ is a maximum)

z^((max))(j)=y_(j)−cl_(max)  (11b)

[0067] Each time the channel symbol with the smallest correction value z^((diff)) is chosen as the desired channel symbol y^((tx)) that is to be generated at the receiver input with the sought sending value, and the smallest correction value z^((diff)) is placed in buffer memory for further calculation steps. Thus: $\begin{matrix} {{j_{\min} = {{{\arg\limits_{j}\left( {\min \left( \left| z_{j}^{\max} \right| \right)} \right)}\quad j} = 1}},2,{\ldots \quad p},} & \left( {12a} \right) \\ {{y^{({tx})} = y_{j_{\min}}}{z^{({diff})} = {z^{(\max)}\left( j_{\min} \right)}}} & \left( {12\text{b}} \right) \end{matrix}$

[0068] A decision is now made as to the position of the expected ISI component E_(i+m) ^(ISIpost).

[0069] If the expected ISI component E_(i+m) ^(ISIpost) in case A is located inside the “inner region” covered by the channel symbols, such as the square constructed by the four channel symbols of a conventional QPSK modulation (see FIG. 7), then the sending value z^((diff)) as determined per equation (12b) will be sent so as to enable a secure detection with low transmission energy and low associated ISI (S103). Thus, in case A we have: $\begin{matrix} {{{{{{real}\left( E_{i + m}^{{ISI}_{post}} \right)}} < {1\bigwedge{{{imag}\left( E_{i + m}^{{ISI}_{post}} \right)}}} < 1}->z_{i}^{({tx})}}:=z^{({diff})}} & (13) \end{matrix}$

[0070] (with the definition A−>B: if A, then B)

[0071]FIG. 4A shows a constellation for a QPSK modulation corresponding to case A, where the information symbol to be transmitted is v_(i) ^((tx))=+1 and the channel symbols y1 and y3 can be selected. The uncertainty region S^((rx))(E^(ISIpost)) is located inside the “inner region” and the smallest correction value z^((diff)) corresponds to the distance between the furthest corner point c₃ and the channel symbol y1 selected on the basis of the least maximum corner distance. This smallest correction value z^((diff)) is then sent as the sending value to achieve the desired reception value.

[0072] If, on the other hand, in a case B, the ISI component E_(i+m) ^(ISIpost) is already in the decision-making region of the desired channel symbol, the sending value “0” will be sent (S104), since no correction is required. Thus, in case B (with the definition sign(x):Signum(x)): $\begin{matrix} {{{{{real}\left( E_{i + m}^{{ISI}_{post}} \right)}} \geq {1\bigwedge{{{imag}\left( E_{i + m}^{{ISI}_{post}} \right)}}} \geq {{1\bigwedge{sign}}\quad \left( {{real}\left( E_{i + m}^{{ISI}_{post}} \right)} \right)}} = {{{sign}\quad {\left( {{real}\left( y_{i + m}^{({rx})} \right)} \right)\bigwedge{sign}}\quad \left( {{imag}\left( E_{i + m}^{{ISI}_{post}} \right)} \right)} = {{{{sign}\quad \left( {{imag}\left( y_{i + m}^{({rx})} \right)} \right)}->z_{i}^{({tx})}}:=0}}} & (14) \end{matrix}$

[0073]FIG. 4B shows a constellation for a QPSK modulation corresponding to case B, where the information symbol to be transmitted is also here v_(i) ^((tx))=+1 and thus the channel symbols y1 and y3 can be selected. The uncertainty region S^((rx))(E^(ISIpost)) is already located without correction value inside the decision-making region established for the information symbol v_(i) ^((tx))=+1 per equation (14). The smallest correction value z^((diff)) corresponds to the distance between the furthest corner point c₁ and the channel symbol yl selected on the basis of the least maximum corner distance. In the present case, it is not the smallest correction value z_((diff)), but rather a sending value z_(i) ^((tx)):=0 which is sent, since the desired reception value is achieved with high probability solely by the ISI components.

[0074] In all other situations (Case C), one transmits (S105), for example, the component of z^((diff)) that pertains to the smaller component (real( ),imag( )) of E_(i+m) ^(ISIpost). This is possible in this case, since only one component of z^((diff)) is already enough to accomplish a secure detection region for the reception value based on the uncertainty region S^((rx))(E^(ISIpost)) calculated in advance. Thus, in case C: $\begin{matrix} {{{{{real}\left( E_{i + m}^{{ISI}_{post}} \right)} \leq {{imag}\left( E_{i + m}^{{ISI}_{post}} \right)}}->z_{i}^{({tx})}} = {{real}\quad \left( z^{({diff})} \right)}} & \left( {15a} \right) \\ {{{{{real}\left( E_{i + m}^{{ISI}_{post}} \right)} > {{imag}\left( E_{i + m}^{{ISI}_{post}} \right)}}->z_{i}^{({tx})}} = {{imag}\quad \left( z^{({diff})} \right)}} & \left( {15b} \right) \end{matrix}$

[0075]FIG. 4C shows a constellation for a QPSK modulation corresponding to case C, where once again the information symbol being transmitted is v_(i) ^((tx))=+1 and thus the channel symbols y1 and y3 can be selected. The uncertainty region S^((rx))(E_(ISIpost)) is located horizontally next to the decision-making region established for the information symbol v_(i) ^((tx))=+1 per equation (14). The smallest correction value z^((diff)) corresponds to the distance between the furthest corner point c₂ and the channel symbol y1 chosen on the basis of the least maximum corner distance. In the present case, it is sufficient to send the real portion of the smallest correction value z^((diff)), indicated as a horizontal arrow, as the sending value z_(i) ^((tx))=real(z^((diff))), since the desired reception value is achieved with high likelihood merely by a correction using the real portion.

[0076] In step S106, a limiting of the region can then occur by limiting the complex components of the sent sending value according to the following equations (16a) and (16b), in order to limit the maximum transmission energy:

|real(z _(i) ^((tx)))|>r _(max)−>real(z _(i) ^((tx)))=sign(real(z _(i) ^((tx))))·r_(max)  (16a)

|imag(z _(i) ^((tx)) |>r _(max) −>imag(z _(i) ^((tx)))=sign(imag(z _(i) ^((tx))))·r_(max)  (16b)

[0077] The region can also be limited by limiting the amplitude of the complex sent signal value to a maximum value.

[0078] Finally, in step S107 the defining moment of time for selection of the next sending symbol is incremented, i.e., i=i+1.

[0079] In practice, one can often count the set Z of possible sending values (discrete, finite number). In this case, the range of values of many of the quantities calculated in the above algorithm, such as E_(i+m) ^(ISIpost), z^((max))(k), can also be counted. Therefore, even prior to transmission, the possible values of many quantities can be calculated in advance and placed in tables of values. This will minimize the computational time outlay during the transmission.

[0080] The mode of functioning of the decoding method carried out in the receiver 30 shall now be explained by means of the flow chart of FIG. 4.

[0081] In step S200, a reception value z is received and taken to the decider 31. The decider 31 compares the reception value with predetermined decision-making regions for the possible channel symbols y according to the channel symbols available Y, in order to determine the received symbol (S201). This occurs according to equation (2). In the case of a QPSK modulation, the decision-making regions at the reception side can be the quadrants in the complex plane, for example.

[0082]FIG. 6 shows a general view of a decision-making region for a channel symbol y in the complex plane. For a signal value z lying inside the decision-making region, the decider 31 puts out the corresponding channel symbol y to the assigner 32.

[0083] In step S202 of FIG. 5, a match-up between the discovered channel symbol y and the corresponding information symbol v takes place in the assigner 32 with the help of a mapping function f, which can be provided, for example, as a memory table or logic function in the assigner 32. The process then returns to step S200, waiting for the reception of a new signal value.

[0084] As a closer example, we shall now consider the case when the information symbol alphabet comprises two characters, which holds for BPSK, for example:

V=[v ₁=−1,v ₂=+1].  (17)

[0085] Let the set of possible sending symbols be given by a square with length of side 2r_(max) at the origin of the complex plane, according to the following definition:

Z ^((tx)) ={z|−r _(max)<real(z)<r _(max) Λ−r _(max) <imag(z)<r _(max)}  (18)

[0086] Accordingly, a QPSK modulation is defined as the channel symbol alphabet:

Y=[y ₁=+1+j, y ₂=−1+j, y ₃=−1−j, y ₄=+1−j].  (19)

[0087] Thus, for the mapping function f(·), which maps the channel symbols in the assigner 32 onto the information symbols, we have:

f(y ₁=+1+j)=+1

f(y ₂=−1+j)=−1

f(y ₃=−1−j)=+1

f(y ₄=+1−j)=−1  (20)

[0088] There exist thus p=2 channel symbols which can be selected for the transmission of a given information symbol.

[0089]FIG. 7 shows the decision-making regions considered certain for the channel symbols. Calculation of the sending values is such that the reception values lie with high probability in the certain decision-making regions. Since a distinct decision always has to be made at the receiver side, it is permissible to allow expanded decision-making regions neighboring each other there, such as the complete quadrants.

[0090] It is assumed that the channel does not have intense preoscillation and consequently:

h_(i)<<h_(m) for i<m.  (21)

[0091] In practice, such a behavior can be assured by using a linear prefilter, adapted to the channel.

[0092]FIG. 8 shows the complex channel pulse response of a low-preoscillation system in the symbol pulse. According to this channel pulse response, we have a channel ordering of n=16 and a channel delay of m=9, which need to be appropriately factored into the transmitter 100. If, for example, a BPSK symbol stream of 2000 symbols is transmitted via this channel, one obtains a constellation per FIG. 9 at the receiver input without superimposed noise or interference signals. Obviously, due to the ISI caused by the channel, error-free detection at the receiver 30 is not possible without additional compensation measures.

[0093] If, on the contrary, one uses the above-described MCP encoding method, one gets a constellation per FIG. 10 at the receiver input. This corresponds to four clusters of points, between which a cross-shaped empty space like FIG. 7 emerges. The limitation by equations (16a) and (16b) has been set at r_(max)=3 here. A subsequent analysis of the simulation process shows that 21 out of 2000 symbols have been limited. The crest factor of the sending symbol stream was around 2-2.5.

[0094] A simple detector, which detects the underlying information symbol v by means of the quadrant in which a reception symbol lies, would produce an error-free stream of reception symbols at the receiver output in this case.

[0095] We shall now discuss the scrambling function as an incidental benefit of the MCP encoding method, using the representation in FIG. 11. FIG. 11 shows a constellation which occurs at the receiver 30 when a constant sequence of information symbols v_(i)=1 is transmitted. According to FIG. 11, the signal values at the reception side (reception values) lie in both quadrants assigned to the information symbol v=+1. Hence, the reception signal contains temporal changes which facilitate a synchronization at the receiver side, without requiring additional descrambling measures.

[0096] The method described in the present application can also be summarized by saying that one makes a selection from p possible representations (channel symbols) for an information symbol which is to be transmitted from a transmitter to a receiver and determines the sending value which is required for the selected channel symbol to appear in the receiver's input. Minimization of the energy of the sending value serves as the criterion of choice. Therefore, the invention can also be described as a symbolwise multiple-choice-precoding (MCP). One possibility of expanding the symbolwise MCP is a forward-looking MCP, as depicted in a flow chart per FIG. 12. Here, with L information symbols to be sent in future and p possible representations, one gets a totality of p^((L+1)) representation sequences. Accordingly, the flow chart contains an outer loop through p^((L+1)) representation sequences. Each representation sequence consists of (L+1) channel symbols and the corresponding sending values. Hence, an inner loop is represented in the flow chart. In this inner loop, the energy values of the sending values are added up. The inner loop ends either when all (L+1) values have been computed or when the energy sum exceeds the previous minimum. In the latter case, a premature interruption is possible, since it is certain that the final overall energy of the particular representation sequence is greater than the final overall energy of at least one other previously computed representation sequence. After working off the outer loop, the representation sequence whose sum of sending energy values is minimal is known. Since the selection criterion is the minimization of the overall energy of a sequence of sending values, the first channel symbol of the representation sequence with minimum sum of sending energy values is selected as the channel symbol for the current information symbol being sent. In the same way as the method described per FIG. 2, the sending value is computed as a function of the selected channel symbol and sent out. The special advantage of forward-looking MCP over symbolwise MCP consists in the minimization of the mean and maximum sending value energy. In formal terms, the computation of the forward-looking MCP can be defined as a problem which consists in making a sequence of discrete decisions so that a cost function is minimized. For problems of this kind, typically described as “find an optimal decision-making sequence,” mathematical solutions exist, such as “dynamic programming,” which are more effective in computing speed than the already described method of testing one by one, but far more complex in their implementation and description. Therefore, we shall merely point out that the MCP technique, unlike other precoating methods, makes it possible to use familiar, highly developed optimization algorithms. For example, the fact that the overall energy being minimized in MCP is a quadratic function can be exploited to formulate the computing of the sending values as a quadratic optimization (quadratic programming) problem. The general form of the quadratic optimization problem (as well as a corresponding solution algorithm) is defined, for example, in the optimization toolbox of the MATLAB Program and reads: ${{\min\limits_{x}{x^{T} \cdot H \cdot x}} + {f^{T}x}},\left. {A \cdot x}\Leftarrow b \right.$

[0097] If one inserts the real and imaginary parts of a sequence of sending values for x, the unit matrix for H, the null vector for f, the convolution matrix for A, which can be formed from the known channel pulse response, and the real and imaginary parts of a representation sequence for b, one can now compute this representation sequence with the general methods of optimization theory as the optimal sequence of sending values for energy minimization. This involves a certain amount of numerical expense. Yet the advantage of this technique is that, with the present invention (MCP), it is also applicable to channels with any given preoscillation, without requiring the use of a FIR filter. As shown, the described algorithm implicitly contains a scrambling function when the channels are sufficiently distortion-rich. In order to also furnish a scrambling function when the channels are distortion-free or distortion-poor, the desired channel symbol y^((tx)) can be randomly selected, for example. In this way, a good dynamics is ensured in the reception symbol sequence for each information symbol sequence and, thus, code transparency for the method.

[0098] The invented encoding method (MCP) is based on the basic notion of a channel symbol alphabet which is more powerful than the information symbol alphabet, i.e., the channel symbol alphabet contains at least one more element than the information symbol alphabet. By using an enhanced linearity and dynamic region at the sending side, the intersymbol interference caused by the channel is drastically reduced with minimal expense at the receiver side. Since it is calculated in advance at the transmitter side which values will come under the channel influence at the receiver side, knowledge of the channel pulse response at the transmitter side is necessary. In view of the fact that any filtering and synchronization operations in the receiver also have influence on the resulting channel pulse response, these operations can and should be easily predictable, or at least predictable at the transmitter side. The constellations obtained at the receiver input by simulation give us an idea as to the performance of the MCP method.

[0099] In practice, situations exist in which, at a sending time j, besides the present information symbol there are also already known the following L information symbols v_(j),v_(j+1), . . . ,v_(j+L) being transmitted. Therefore, one way of expanding the sample embodiment is to consider these future L information symbols when determining the current sending value z_(j) ^((tx)). For this, one calculates in advance all possible channel symbol sequences:

yk_(j),yk_(j+1), . . . yk_(j+L)

[0100] which are considered for representing the information symbol sequence v_(j),v_(j+1), . . . ,v_(j+L), for example. The current sending value z_(j) ^((tx)) is then determined such that a minimum anticipated required sending energy results for the next L symbols, i.e., $\min \left( {\sum\limits_{i = j}^{j + L}{z_{i}}^{2}} \right)$

[0101] j+L min(E I zi2) i=j

[0102] and all z_(i) are contained in the set of possible sending symbols, i.e.,

z _(i)∈Z^((tx)) (i=j,j+1, . . . ,j+L)

[0103] and the detection at the receiver side is possible without error for presumably all z_(i), i.e.,

D _(i) ^(err)<0 (i=j,j+1, . . . ,j+L)

[0104] Since computing power is freed up at the receiver side for equalization when MCP is used, it is possible to either economize this computing power entirely, or to use it to further improve the transmission. For example, it is possible to provide an adaptive equalizer at the receiver side in addition to MCP, which will track and compensate for the deviation between the measured channel pulse response and the actual channel pulse response necessarily occurring in practice. The advantage over a solution without MCP consists in that the adaptive equalizer with MCP only has to correct the distortions contained in the reception value by reason of the deviation between the measured channel pulse response and the actual or effective channel pulse response. This can be done with lower numerical resolution and, thus, lower costs than a solution without MCP.

[0105] The MCP method can be used advantageously in applications, for example, where time-invariant channels with strong reflections are disrupting the communication between a base station and many subscriber stations as the main source of interference, such as WLL systems. Of course, the MCP method can also be used advantageously in higher-stage PSK and in DPSK modulation methods or also in other suitable types of modulation.

[0106] Furthermore, it is also apparent that bit sequence-independent synchronization is facilitated and thus can be made more cheap with MCP for all data rates. 

1. Method for encoding of an information symbol to be transmitted across a transmission channel (20), with the steps: a) furnishing a channel symbol alphabet which has at least one more element than the information symbol alphabet, b) determining the postoscillation behavior of the transmission channel (20), c) calculating in advance the reception signal values anticipated at the end of the transmission channel (20) when transmitting selectable channel symbols, based on the postoscillation behavior and channel symbols already sent, d) selecting one of the selectable channel symbols, taking into account the anticipated reception signal values, e) using the selected channel symbol for encoding of the information symbol being transmitted, and f) calculating a sending signal value as a function of the selected channel symbol and the anticipated reception values.
 2. Method per claim 1, wherein at least two channel symbols are provided for each information symbol.
 3. Method per claim 1, wherein the anticipated reception signal values define an uncertainty region and the choice of the selectable channel symbol is done based on its position relative to the uncertainty region.
 4. Method per claim 3, wherein the uncertainty region is determined in consideration of the preoscillation behavior of the transmission channel (20).
 5. Method per claim 4, wherein the preoscillation and postoscillation behavior of the transmission channel (20) is determined by means of the channel pulse response.
 6. Method according to one of the preceding claims, wherein an adaptive equalizer is used to compensate for a deviation between measured and real channel pulse response at the receiver side.
 7. Method per claim 3 or 4, wherein that selectable channel symbol is selected which has the smallest correction value relative to the corner points of the uncertainty region.
 8. Method per claim 3 or 4, wherein that selectable channel symbol is selected which has the smallest correction value relative to the most distant point of the uncertainty region.
 9. Method according to one of the preceding claims, wherein the sending value “0” is used to transmit a channel symbol if the anticipated reception signal value caused by ISI is situated within a region that leads with high probability to the detection of the channel symbol being transmitted at the receiver side.
 10. Method according to one of the preceding claims, wherein the difference between the selected channel symbol and the intersymbol interference anticipated in the worst case is used as sending value to transmit the channel symbol being sent if the corresponding anticipated reception signal value is located inside a region defined and subtended by channel symbols.
 11. Method according to one of the preceding claims, wherein a limiting of the region is carried out in that the complex components of the sent signal value are each limited to a maximum value.
 12. Method according to one of the preceding claims, wherein a limiting of the region is done in that the amplitude of a complex sent signal value is limited to a maximum value.
 13. Method according to one of the preceding claims, wherein the information symbol being transmitted is a BPSK symbol and the selectable channel symbols are QPSK symbols.
 14. Method according to one of the preceding claims, wherein the set of sending values is not countable.
 15. Method according to one of the preceding claims, wherein the set of sending values is countable and thus discrete.
 16. Method per claim 15, wherein a pre-encoder function is implemented in the form of a table of values after determining the channel properties.
 17. Method per claim 16, wherein the pre-encoding function is realized in the form of a table of values for probable types of channel pulse response even prior to the exact determination of the channel properties.
 18. Method according to one of the preceding claims, wherein the sending value is determined in consideration of possible channel symbol sequences which can be used for subsequent information symbols being transmitted.
 19. Method according to one of the preceding claims, wherein the selection of channel symbols is random in order to accomplish a scrambling function.
 20. Method according to one of the preceding claims, wherein a higher-stage PSK modulation or a DPSK modulation is used for the encoding.
 21. Method for the decoding of a reception signal value received via a transmission channel (20), with the steps: a) determining a channel symbol from the reception signal value by using a decision-making function, and b) assigning an information symbol, for which the determined channel symbol is selectable during the encoding.
 22. Method per claim 21, comprising the step of determining a detection uncertainty by means of the distance between the reception signal value and the limits of a secure decision-making region used for the determined channel symbol.
 23. Method per claim 21 or 22, wherein the distance is a Euclidean distance or a Hamming distance.
 24. Method according to one of claims 21 to 23, wherein the channel symbol is a QPSK symbol and the determination of the channel symbol is done by using the quadrant in which the reception signal value is found.
 25. Device for encoding an information signal to be transmitted across a transmission channel (20), with: a) an encoder (11) to furnish at least two selectable channel symbols for the information symbol being transmitted, b) a computing unit (12, 13, 14, 15) for computing in advance the reception signal values anticipated at the end of the transmission channel (20) upon transmission of the selectable channel symbols, based on the postoscillation behavior of the transmission channel (20) and the sending values already sent, c) a selection unit (12) for selecting one of the selectable channel symbols in consideration of the anticipated reception signal values, and for using the selected channel symbol to encode the information symbol being transmitted, and d) a sending value computing unit (15) for computing the sending value as a function of the selected channel symbol and the anticipated reception values.
 26. Device per claim 25, wherein the computing unit (12, 13, 14, 15) comprises a first storage unit (14) for storing the sending values already sent, a second storage unit (13) for storing the channel coefficients describing the postoscillation of the transmission channel (20), a multiplication unit for multiplying the sending values already sent with the corresponding channel coefficients, and an addition unit for adding up the results of the multiplication.
 27. Device per claim 26, wherein the anticipated reception signal values are calculated in advance in the computing unit (12, 13, 14, 15) by means of the addition result, the selected channel symbol, and anticipation value which takes into account the preoscillation behavior of the transmission channel (20).
 28. Device according to one of claims 25 to 27, wherein a prefilter adapted to the transmission channel (20) is provided to diminish the preoscillation behavior of the transmission channel.
 29. Device for decoding a reception signal value received across a transmission channel (20), with: a) a decision-making unit (31) for determining a channel symbol from the reception signal value by using a decision-making function, b) an assignment unit (32) for assigning an information symbol for which the determined channel symbol is selectable during the encoding, and c) an error assessment unit (32) for determining a detection uncertainty based on the distance between the reception signal value and the limits of a decision-making region considered to be secure for the determined channel symbol.
 30. Device per claim 29, wherein the decision-making unit (31) has a detector, in which the channel symbol is determined by means of the quadrant having the reception signal value.
 31. Method according to one of the preceding claims 1 to 24, wherein a set of information symbols to be transmitted in future is used in selecting the current channel symbol.
 32. Method according to one of the preceding claims 1 to 24, characterized in that the mean and maximum sending value energy is minimized by taking into account future information symbols to be transmitted when selecting the current channel symbol. 